The growth and popularity of the Internet has created an economy and society where businesses and individuals rely heavily on having connectivity to the Internet. In addition to the proliferation of private networks that can be accessed from homes and business, this has led to the creation of public networks that are located and accessible in public places, such as shopping malls, airports, libraries, etc. Public networks provide Internet access to mobile users in areas frequented by users but not traditionally configured to provide Internet access.
The usage and service options of a public network generally differ from that of a private (enterprise or home) network. Consequently, the two networks are often configured differently and computers accessing the networks must accommodate the different configurations to allow users to move easily between a private network and a public network.
Large corporations tend to be extremely security cautious, taking an enterprise-centric approach where every user is governed by a single policy. User authentication is intended to prevent unknown persons from accessing internal private networks. Such corporations generally use some sort of a pre-configured shared key mechanism with hardware encryption to secure network access.
Public networks are security cautious only to the extent that the individual using the network is. The host organization's focus is on establishing the identity of a previously unknown user and then giving her access to the network, its resources, and other location services. Hence, tracking who is using the network, what services are being used and how much bandwidth is being used are important. Public networks typically perform packet-level processing for both user-level authentication and privacy, and for offering different kinds of services, and keeping track of network use on a per-user basis.
Another difference is, while corporations generally have a high level of confidence and trust in their user (employees), public network operators have to guard against the network users who they might not know well. They need tools to protect themselves from malicious users who are only interested in bringing the network down.
Consequently, client devices have to change behavior according to the network being accessed. When accessing a private network, the client need not do anything; hardware encryption with a shared key is sufficient to control users'access. However, when accessing a public network, the client runs through an authentication process and starts using a specialized network access protocol, which gets it different types of interesting services.
The mobility problem can be further expressed in a few different scenarios:                1. The mobile client migrates between a private (company) network and a public network. Since the company network may not be running a system that is compatible with the public network, the mobile client must recognize when to enable/disable the public network protocol locally.        2. The mobile client migrates between different subnets of the same public network. In this case, it is undesirable to require the user to re-authenticate herself by repeating the logon process. Instead, the client should gain access in the new subnet by using the same key obtained from the previous subnet. The mobile client must recognize and perform any necessary changes in the routing configuration (e.g., directing traffic to a different verifier server) and resume network operation by using the same key.        3. The mobile client migrates between different public networks. The mobile client must distinguish this from the previous scenario and ask the user to perform the logon process in the new network. After authentication has succeeded, the client host will use a new key to communicate in the new network. However, the mobile client should save the previous key until it expires so that it could be reused upon returning to the previous network.        
There exists a need for a mobility support mechanism that allows devices to automatically determine how to establish/re-establish network connectivity as roaming users migrate across the different networks.